package com.chenfan.mcn.model.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author tangwei
 * Date:     2021/1/29 16:59
 * Description: 执行单列表视图
 */
@Data
public class ExcutionOrderVO implements Serializable {

    private static final long serialVersionUID = -1279070687762119397L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 执行单号
     */
    private String excuteCode;

    /**
     * 客户id
     */
    private Long customerId;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 审批状态
     */
    private String flowStatusName;

    /**
     * 收入合同主键id
     */
    private Long incomeContractId;

    /**
     * 收入合同编号
     */
    private String incomeContractCode;
    /**
     * 合同类型
     */
    @JSONField(serialize = false)
    private Integer contractType;


    /**
     * star_platform_info表主键id
     */
    private Long starPlatformInfoId;

    /**
     * 红人昵称
     */
    private String starNickName;

    /**
     * 红人经纪人id
     */
    private Long starAgentId;

    /**
     * 红人经纪人
     */
    private String starAgentName;

    /**
     * 账号是否入驻：0否1是
     */
    private Integer inSystemAdmin;

    /**
     * 平台名称
     */
    private String platformName;

    /**
     * 单据状态：-2_待执行, -1_执行中, 0_待提交, 1_审批中, 2_审批通过, 3_审批拒绝, 4_已撤回, 9_作废
     */
    private Integer approvalStatus;

    /**
     * 单据状态名称
     */
    private String approvalStatusName;

    /**
     * 品牌（数据字典）
     */
    private String brandName;

    /**
     * 品牌
     */
    private String brandNameN;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 创建人名称
     */
    private String createName;

    /**
     * 创建人id
     */
    private Long createBy;

    /**
     * 流程节点id
     */
    private Long flowId;

    /**
     * 执行单总收入(元)
     */
    private Double actualQuotedPrice;

    /**
     * 刊例原价(元)
     */
    @JSONField(serialize = false)
    private BigDecimal cardRatePrice;

    /**
     * 内容实际报价(元)
     */
    @JSONField(serialize = false)
    private BigDecimal realAmount;

    /**
     * 其他加价收入(元)
     */
    @JSONField(serialize = false)
    private BigDecimal otherIncomeAmount;

    /**
     * 其他加价收入说明
     */
    @JSONField(serialize = false)
    private String otherIncomeRemark;

    /**
     * 机酒差旅补贴(元)
     */
    @JSONField(serialize = false)
    private BigDecimal specialIncomeAmount;

    /**
     * 机酒差旅补贴说明
     */
    @JSONField(serialize = false)
    private String specialIncomeRemark;

    /**
     * 其他补贴性收入(元)
     */
    @JSONField(serialize = false)
    private BigDecimal subsidyIncomeAmount;

    /**
     * 其他补贴性收入说明
     */
    @JSONField(serialize = false)
    private String subsidyIncomeRemark;

    /**
     * 客户返点比例(%)
     */
    @JSONField(serialize = false)
    private BigDecimal aeCustomerRabateRate;

    /**
     * 客户返点金额(元)
     */
    @JSONField(serialize = false)
    private BigDecimal aeCustomerRabateAmount;

    /**
     * 客户实际优惠比例（%）
     */
    @JSONField(serialize = false)
    private BigDecimal actualDiscountRatio;

    /**
     * 分成金额备注
     */
    @JSONField(serialize = false)
    private String calculationDevidedRemark;

    /**
     * 执行单备注
     */
    @JSONField(serialize = false)
    private String ceoRemark;

    /**
     * 红人分成费
     */
    private BigDecimal starDevidedAmount;

    /**
     * 财务确认分成金额
     */
    private BigDecimal financeDevidedAmount;

    /**
     * AE确认应收金额（元）
     */
    private BigDecimal aeReceivableAmount;

    /**
     * 财务确认应收金额（元）
     */
    private BigDecimal amountReceivable;

    /**
     * 执行人id
     */
    private Long excutorId;

    /**
     * 执行人名称
     */
    private String excutorName;

    /**
     * 发布形式
     */
    private String publishForm;

    /**
     * 合同签订日期（精确到天）
     */
    @JSONField(format = "yyyy-MM-dd")
    private Date signDate;

    /**
     * 实际发布日期
     */
    private Date realPublishDate;

    /**
     * 打款日期
     */
    private Date paidStarDate;

    /**
     * 执行单回款状态
     */
    private Integer paybackStatus;
    /**
     * 执行单回款状态名称
     */
    private String paybackStatusName;

    /**
     * 回款时间
     */
    private Date paybackDate;

    /**
     * 发布类型（数据字典）
     */
    private String publishType;

    /**
     * 提成结算状态：0:未结算；1:结算中；2:已结算
     */
    private Integer commissionSettleStatus;

    /**
     * AE确认分成金额
     */
    private BigDecimal aeDevidedAmount;

    /**
     * 平台订单号
     */
    private String platformOrderCode;

    /**
     * 商务提成结算状态：0:未结算；1:结算中；2:已结算
     */
    private Integer businessCommissionSettleStatus;

    /**
     * 发布日期开始时间
     */
    private Date promisePublishDate;

    /**
     * 发布日期结束时间
     */
    private Date promisePublishDateEnd;

    /**
     * 是否业绩共享
     */
    private Integer performanceShare;

    /**
     * 业绩共享人id
     */
    private Long performanceSharerId;

    /**
     * 业绩共享人名称
     */
    private String performanceSharerName;

    /**
     * 收入合同回款状态
     */
    private Integer contractPaybackStatus;

    /**
     * 收入合同回款状态名称
     */
    private String contractPaybackStatusName;

    /**
     * 合同状态
     */
    private Integer contractApprovalStatus;

    /**
     * 合同状态名称
     */
    private String contractApprovalStatusName;

    /**
     * 客户返点结算状态：0:未结算；1:结算中；2:已结算
     */
    private Integer rebateSettleStatus;

    /**
     * 客户返点结算状态名称
     */
    private String rebateSettleStatusName;

    /**
     * 执行统筹人
     */
    @JSONField(serialize = false)
    private Long coordinatorId;
}